#ifndef __RCO_DIRCACHE_H__
#define __RCO_DIRCACHE_H__

#include <QList>
#include <QString>
#include <QDir>
#include <QFileInfoList>
#include "rcocore/autofreeptr.h"

namespace rco
{

struct RDirCache;
typedef kbase::AutoFreePtr<RDirCache> DirCachePtr;
typedef QList<DirCachePtr> RDirCacheList;

struct RDirCache
{
	RDirCache()
	{
		bDir = false;
		bEnd = false;
	}

	RDirCache(QString& path, bool isDir, bool isEnd)
	{
		strPath = path;
		bDir = isDir;
		bEnd = isEnd;
	}

	QString strPath;
	bool    bDir;
	bool    bEnd;

	static bool CacheDirectoryInfo(const QString& filePath, RDirCacheList& outCaches);
};


}

#endif // __RCO_DIRCACHE_H__